import { ruleList,ruleAdd,ruleUpdate,ruleDelete,getPage } from '@/api/sys.rule'
export default {
  namespaced: true,
  state: {
    ruleList:[]
  },
  actions: {
    getRuleList({state}) {
      return new Promise((resolve, reject) => {
        if(state.ruleList.length==0){
          ruleList().then(
            res => {
          
              this.ruleList=res
              resolve(res)
            }
          )
        }else{
          
          resolve(state.ruleList)
        }
        })
    },
    ruleAdd(context,data) {
      return new Promise((resolve, reject) => {
          ruleAdd(data).then(
            res => {
              resolve(res)
            }
          )
        })
    },
    getPage(context,data) {
      return new Promise((resolve, reject) => {
        //判断本地的state变量中是否已经有数据,如果没有,向服务器请求
          getPage(data).then(res => {
            //服务器请求回来的数据,在state.menu中也保存一份,下次同样的请求,就可以直接返回数据,不用去服务器重新请求
            resolve(res)
          })
      })
    },
    ruleUpdate(context,data){
        return new Promise((resolve, reject) => {   
          console.log(data)
          ruleUpdate(data).then(res => {
                
                //服务器请求回来的数据,在state.menu中也保存一份,下次同样的请求,就可以直接返回数据,不用去服务器重新请求
                resolve(res)
              })
          })
    },
    ruleDelete(context,id){
      return new Promise((resolve, reject) => {       
        ruleDelete(id).then(() => {         
              //服务器请求回来的数据,在state.menu中也保存一份,下次同样的请求,就可以直接返回数据,不用去服务器重新请求
              resolve()
            })
        })
    }
  }
}